/**  
 * @Title: LoginController.java
 * @Package org.wk.user.controller
 * @Description: TODO【】
 * @author df.w 
 * @date 2018年5月3日 下午2:40:54
 * @version V1.0  
 */ 

package org.wk.user.api.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.*;
import org.wk.core.common.view.ResponseVo;
import org.wk.user.service.LoginService;

import com.alibaba.fastjson.JSONObject;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * @ClassName	: LoginController
 * @Package		：org.wk.user.controller
 * @Author df.w 
 * @Create Time	：2018年5月3日 下午2:40:54
 * @Description	: 
 */

/**
 * @ClassName	: LoginController
 * @Package		：org.wk.user.api.controller
 * @Author df.w 
 * @Create Time	：2018年5月5日 下午3:02:41
 * @Description	: 
 */ 
@RestController
public class LoginController {

	private final Logger logger = LoggerFactory.getLogger(this.getClass());
	
	@Autowired
	private LoginService loginService;
	
	/**
	 * 注册用户
	 * @Title		: regist
	 * @Param		: @param jsonObject
	 * @Param		: @return
	 * @Return Type 	：ResponseVo
	 * @Description	:
	 */
	@RequestMapping(value="/users/register",method=RequestMethod.POST,produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
	public String regist(@RequestBody JSONObject jsonObject,HttpServletRequest request) {
		logger.info("注册用户>>>>{}",jsonObject.toString());
		ResponseVo responseVo = loginService.regist(jsonObject);
		logger.info("注册用户返回值>>>>{}",responseVo.toString());
		return responseVo.toString();
		
	}
	
	/**
	 * 用户登录
	 * @Title		: login
	 * @Param		: @param jsonObject
	 * @Param		: @return
	 * @Return Type 	：ResponseVo
	 * @Description	:
	 */
	@RequestMapping(value="/users/login")
	@ResponseBody
	public ResponseVo login(@RequestBody JSONObject jsonObject) {
		logger.info("用户登录>>>>{}",jsonObject.toString());
		ResponseVo responseVo = loginService.login(jsonObject);
		logger.info("用户登录返回值>>>>{}",responseVo.toString());
		return responseVo;
		
	}
	
	
	
	/**
	 * @Title		: reset_password_via_mobile
	 * @Param		: @param jsonObject
	 * @Param		: @return
	 * @Return Type 	：String
	 * @Description	: 通过手机验证码重置登录密码
	 */ 
	@RequestMapping(value="/passwords/login_password/reset_password_via_mobile",method=RequestMethod.POST,produces=MediaType.APPLICATION_JSON_UTF8_VALUE)
	public String reset_password_via_mobile(@RequestBody JSONObject jsonObject) {
		logger.info("通过手机号重置密码>>>>{}",jsonObject.toString());
		ResponseVo responseVo = loginService.resetPasswordBySmsCode(jsonObject);
		logger.info("通过手机号重置密码返回值>>>>{}",responseVo.toString());
		return responseVo.toString();
		
	}
	
	
	
	
}
